model versioning
MGit: A Model Versioning and Management System
Hao, Wei, Mendoza, Daniel, da Silva, Rafael, Narayanan, Deepak, Phanishaye, Amar
Models derived from other models are extremely common in machine learning (ML) today. For example, transfer learning is used to create task-specific models from "pre-trained" models through finetuning. This has led to an ecosystem where models are related to each other, sharing structure and often even parameter values. However, it is hard to manage these model derivatives: the storage overhead of storing all derived models quickly becomes onerous, prompting users to get rid of intermediate models that might be useful for further analysis. Additionally, undesired behaviors in models are hard to track down (e.g., is a bug inherited from an upstream model?). In this paper, we propose a model versioning and management system called MGit that makes it easier to store, test, update, and collaborate on model derivatives. MGit introduces a lineage graph that records provenance and versioning information between models, optimizations to efficiently store model parameters, as well as abstractions over this lineage graph that facilitate relevant testing, updating and collaboration functionality. MGit is able to reduce the lineage graph's storage footprint by up to 7x and automatically update downstream models in response to updates to upstream models.
Model Rollbacks Through Versioning
There's general consensus in the Machine Learning community that models can and have made biased decisions against traditionally marginalized groups. Ethical AI researchers from Dr. Cathy O'Neil to Dr. Joy Buolamwini have gone to great lengths to establish a pattern of faulty decision making rooted in biased and unrepresentative data that result in serious harms. Unfortunately, our "intelligent" learning algorithms are only as smart, capable and ethical as we make them and we are only at the beginning of understanding the long term effects of biased models. Fortunately, there are many strategies already at our disposal that we can use to mitigate harms when they arise. Today, we will focus on a very powerful strategy: Model Rollbacks through Versioning.
Model Versioning: Reduce Friction. Create Stability. Automate.
The research and development (R&D) phase of building an AI model to address a business problem is characterized by rapid exploration and iteration. Everything is on the table and experimentation is encouraged, from understanding how to frame the problem, to determining how to most effectively use the data on hand, to discovering the model architecture with the best performance. In stark contrast to this, the operationalization phase of AI model development requires that the model be completely characterized, produce reproducible results, and be stable for integration in automation processes. Model versioning best practices and version control tools are essential to successfully navigating and overcoming this gap between R&D and production engineering. The practice of version control is nothing new.
Using Automated Builds in ModelOps
In this installment of the ModelOps Blog Series, we will transition from what it takes to build AI models to the process of deploying into production. Think of this as the on ramp for extracting value from your AI investments--moving your model out of the lab and into an environment where it can provide new insights for your organization or add value to customers. Front and center is the concept of continuous integration (CI) and continuous deployment (CD). This methodology can be applied to automate the process of releasing AI models in a reproducible and reliable manner. Get ready to walk away with everything you need to know in order to leverage containers to formalize and manage AI models within your organization.